| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

SsaoEffect.h
1 // SsaoEffect.h
3 //
5
6 namespace nkAstraeus
7 {
17 class SsaoEffect final : public Effect
18 {
19 public :
20
27 SsaoEffect (System* system) noexcept ;
31 virtual ~SsaoEffect () ;
32
33 // Getters
37 virtual EFFECT_TYPE getType () const override ;
41 nkGraphics::Texture* getPositionBuffer () const ;
45 nkGraphics::Texture* getNormalBuffer () const ;
49 nkGraphics::Texture* getDepthBuffer () const ;
53 bool getLinearDepth () const ;
57 nkGraphics::Camera* getCamera () const ;
61 float getSamplingRadius () const ;
65 float getMaxOcclusionDistance () const ;
69 float getStrength () const ;
73 float getDepthBias () const ;
77 unsigned int getKernelSampleCount () const ;
81 bool getOcclusionDrivesAlpha () const ;
82
83 // Setters
104 void setEffectFromGBufferInfo (nkGraphics::Texture* positionBuffer, nkGraphics::Texture* normalBuffer = nullptr) ;
123 void setEffectFromDepthInfo (nkGraphics::Texture* depthBuffer, bool linearDepth = false) ;
132 void setCamera (nkGraphics::Camera* value) ;
144 void setSamplingRadius (float value) ;
156 void setMaxOcclusionDistance (float value) ;
167 void setStrength (float value) ;
178 void setDepthBias (float value) ;
190 void setKernelSampleCount (unsigned int value) ;
204 void setOcclusionDrivesAlpha (bool value) ;
205
206 // Load
207 virtual bool load () override ;
208 virtual void unload () override ;
209
210 public :
211
212 // Statics
223 static nkMemory::UniquePtr<SsaoEffect> create (System* system = nullptr) ;
224 } ;
225 }
nkAstraeus::SsaoEffect::create
static nkMemory::UniquePtr< SsaoEffect > create(System *system=nullptr)
nkAstraeus::SsaoEffect::SsaoEffect
SsaoEffect(System *system) noexcept
nkAstraeus::SsaoEffect::setCamera
void setCamera(nkGraphics::Camera *value)
nkAstraeus::SsaoEffect::~SsaoEffect
virtual ~SsaoEffect()
nkAstraeus::SsaoEffect::setDepthBias
void setDepthBias(float value)
nkGraphics::Camera
Offers all controls to model a camera.
Definition: Camera.h:14
nkAstraeus::SsaoEffect::getLinearDepth
bool getLinearDepth() const
nkGraphics::Texture
A texture used for rendering, hosted on GPU.
Definition: Texture.h:35
nkAstraeus::EFFECT_TYPE
EFFECT_TYPE
Lists all effects supported.
Definition: EffectType.h:12
nkAstraeus::SsaoEffect::getDepthBias
float getDepthBias() const
nkAstraeus::SsaoEffect::getStrength
float getStrength() const
nkAstraeus::SsaoEffect::getDepthBuffer
nkGraphics::Texture * getDepthBuffer() const
nkAstraeus::SsaoEffect::load
virtual bool load() override
nkAstraeus::System
The main entry point for nkAstraeus engine.
Definition: System.h:15
nkAstraeus::SsaoEffect::getPositionBuffer
nkGraphics::Texture * getPositionBuffer() const
nkAstraeus::SsaoEffect::unload
virtual void unload() override
nkAstraeus::SsaoEffect::getKernelSampleCount
unsigned int getKernelSampleCount() const
nkAstraeus::SsaoEffect::getSamplingRadius
float getSamplingRadius() const
nkAstraeus::SsaoEffect
A Screen Space Ambient Occlusion effect.
Definition: SsaoEffect.h:18
nkAstraeus::SsaoEffect::setOcclusionDrivesAlpha
void setOcclusionDrivesAlpha(bool value)
nkAstraeus::SsaoEffect::getType
virtual EFFECT_TYPE getType() const override
nkAstraeus
Encompasses all API of component NilkinsAstraeus.
Definition: BlurComplexEffect.h:7
nkMemory::UniquePtr
Smart pointer owning the object instance it encapsulates.
Definition: UniquePtr.h:17
nkAstraeus::SsaoEffect::getCamera
nkGraphics::Camera * getCamera() const
nkAstraeus::Effect
Base class for all effects in the component.
Definition: Effect.h:16
nkAstraeus::SsaoEffect::getNormalBuffer
nkGraphics::Texture * getNormalBuffer() const
nkAstraeus::SsaoEffect::setSamplingRadius
void setSamplingRadius(float value)
nkAstraeus::SsaoEffect::setKernelSampleCount
void setKernelSampleCount(unsigned int value)
nkAstraeus::SsaoEffect::setEffectFromGBufferInfo
void setEffectFromGBufferInfo(nkGraphics::Texture *positionBuffer, nkGraphics::Texture *normalBuffer=nullptr)
nkAstraeus::SsaoEffect::getOcclusionDrivesAlpha
bool getOcclusionDrivesAlpha() const
nkAstraeus::SsaoEffect::setMaxOcclusionDistance
void setMaxOcclusionDistance(float value)
nkAstraeus::SsaoEffect::getMaxOcclusionDistance
float getMaxOcclusionDistance() const
nkAstraeus::SsaoEffect::setStrength
void setStrength(float value)
nkAstraeus::SsaoEffect::setEffectFromDepthInfo
void setEffectFromDepthInfo(nkGraphics::Texture *depthBuffer, bool linearDepth=false)